package com.lsy.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class InterestExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public InterestExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andInterestidIsNull() {
            addCriterion("interestId is null");
            return (Criteria) this;
        }

        public Criteria andInterestidIsNotNull() {
            addCriterion("interestId is not null");
            return (Criteria) this;
        }

        public Criteria andInterestidEqualTo(Integer value) {
            addCriterion("interestId =", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidNotEqualTo(Integer value) {
            addCriterion("interestId <>", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidGreaterThan(Integer value) {
            addCriterion("interestId >", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidGreaterThanOrEqualTo(Integer value) {
            addCriterion("interestId >=", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidLessThan(Integer value) {
            addCriterion("interestId <", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidLessThanOrEqualTo(Integer value) {
            addCriterion("interestId <=", value, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidIn(List<Integer> values) {
            addCriterion("interestId in", values, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidNotIn(List<Integer> values) {
            addCriterion("interestId not in", values, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidBetween(Integer value1, Integer value2) {
            addCriterion("interestId between", value1, value2, "interestid");
            return (Criteria) this;
        }

        public Criteria andInterestidNotBetween(Integer value1, Integer value2) {
            addCriterion("interestId not between", value1, value2, "interestid");
            return (Criteria) this;
        }

        public Criteria andInvestidIsNull() {
            addCriterion("investId is null");
            return (Criteria) this;
        }

        public Criteria andInvestidIsNotNull() {
            addCriterion("investId is not null");
            return (Criteria) this;
        }

        public Criteria andInvestidEqualTo(Integer value) {
            addCriterion("investId =", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidNotEqualTo(Integer value) {
            addCriterion("investId <>", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidGreaterThan(Integer value) {
            addCriterion("investId >", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidGreaterThanOrEqualTo(Integer value) {
            addCriterion("investId >=", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidLessThan(Integer value) {
            addCriterion("investId <", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidLessThanOrEqualTo(Integer value) {
            addCriterion("investId <=", value, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidIn(List<Integer> values) {
            addCriterion("investId in", values, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidNotIn(List<Integer> values) {
            addCriterion("investId not in", values, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidBetween(Integer value1, Integer value2) {
            addCriterion("investId between", value1, value2, "investid");
            return (Criteria) this;
        }

        public Criteria andInvestidNotBetween(Integer value1, Integer value2) {
            addCriterion("investId not between", value1, value2, "investid");
            return (Criteria) this;
        }

        public Criteria andIpaidbackIsNull() {
            addCriterion("iPaidBack is null");
            return (Criteria) this;
        }

        public Criteria andIpaidbackIsNotNull() {
            addCriterion("iPaidBack is not null");
            return (Criteria) this;
        }

        public Criteria andIpaidbackEqualTo(Boolean value) {
            addCriterion("iPaidBack =", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackNotEqualTo(Boolean value) {
            addCriterion("iPaidBack <>", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackGreaterThan(Boolean value) {
            addCriterion("iPaidBack >", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackGreaterThanOrEqualTo(Boolean value) {
            addCriterion("iPaidBack >=", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackLessThan(Boolean value) {
            addCriterion("iPaidBack <", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackLessThanOrEqualTo(Boolean value) {
            addCriterion("iPaidBack <=", value, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackIn(List<Boolean> values) {
            addCriterion("iPaidBack in", values, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackNotIn(List<Boolean> values) {
            addCriterion("iPaidBack not in", values, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackBetween(Boolean value1, Boolean value2) {
            addCriterion("iPaidBack between", value1, value2, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andIpaidbackNotBetween(Boolean value1, Boolean value2) {
            addCriterion("iPaidBack not between", value1, value2, "ipaidback");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentIsNull() {
            addCriterion("iMoneyCurrent is null");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentIsNotNull() {
            addCriterion("iMoneyCurrent is not null");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentEqualTo(Integer value) {
            addCriterion("iMoneyCurrent =", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentNotEqualTo(Integer value) {
            addCriterion("iMoneyCurrent <>", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentGreaterThan(Integer value) {
            addCriterion("iMoneyCurrent >", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentGreaterThanOrEqualTo(Integer value) {
            addCriterion("iMoneyCurrent >=", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentLessThan(Integer value) {
            addCriterion("iMoneyCurrent <", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentLessThanOrEqualTo(Integer value) {
            addCriterion("iMoneyCurrent <=", value, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentIn(List<Integer> values) {
            addCriterion("iMoneyCurrent in", values, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentNotIn(List<Integer> values) {
            addCriterion("iMoneyCurrent not in", values, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentBetween(Integer value1, Integer value2) {
            addCriterion("iMoneyCurrent between", value1, value2, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andImoneycurrentNotBetween(Integer value1, Integer value2) {
            addCriterion("iMoneyCurrent not between", value1, value2, "imoneycurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentIsNull() {
            addCriterion("iInterestCurrent is null");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentIsNotNull() {
            addCriterion("iInterestCurrent is not null");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentEqualTo(Integer value) {
            addCriterion("iInterestCurrent =", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentNotEqualTo(Integer value) {
            addCriterion("iInterestCurrent <>", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentGreaterThan(Integer value) {
            addCriterion("iInterestCurrent >", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentGreaterThanOrEqualTo(Integer value) {
            addCriterion("iInterestCurrent >=", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentLessThan(Integer value) {
            addCriterion("iInterestCurrent <", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentLessThanOrEqualTo(Integer value) {
            addCriterion("iInterestCurrent <=", value, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentIn(List<Integer> values) {
            addCriterion("iInterestCurrent in", values, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentNotIn(List<Integer> values) {
            addCriterion("iInterestCurrent not in", values, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentBetween(Integer value1, Integer value2) {
            addCriterion("iInterestCurrent between", value1, value2, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andIinterestcurrentNotBetween(Integer value1, Integer value2) {
            addCriterion("iInterestCurrent not between", value1, value2, "iinterestcurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentIsNull() {
            addCriterion("iMandICurrent is null");
            return (Criteria) this;
        }

        public Criteria andImandicurrentIsNotNull() {
            addCriterion("iMandICurrent is not null");
            return (Criteria) this;
        }

        public Criteria andImandicurrentEqualTo(Integer value) {
            addCriterion("iMandICurrent =", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentNotEqualTo(Integer value) {
            addCriterion("iMandICurrent <>", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentGreaterThan(Integer value) {
            addCriterion("iMandICurrent >", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentGreaterThanOrEqualTo(Integer value) {
            addCriterion("iMandICurrent >=", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentLessThan(Integer value) {
            addCriterion("iMandICurrent <", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentLessThanOrEqualTo(Integer value) {
            addCriterion("iMandICurrent <=", value, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentIn(List<Integer> values) {
            addCriterion("iMandICurrent in", values, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentNotIn(List<Integer> values) {
            addCriterion("iMandICurrent not in", values, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentBetween(Integer value1, Integer value2) {
            addCriterion("iMandICurrent between", value1, value2, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andImandicurrentNotBetween(Integer value1, Integer value2) {
            addCriterion("iMandICurrent not between", value1, value2, "imandicurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentIsNull() {
            addCriterion("iTimeCurrent is null");
            return (Criteria) this;
        }

        public Criteria andItimecurrentIsNotNull() {
            addCriterion("iTimeCurrent is not null");
            return (Criteria) this;
        }

        public Criteria andItimecurrentEqualTo(Date value) {
            addCriterion("iTimeCurrent =", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentNotEqualTo(Date value) {
            addCriterion("iTimeCurrent <>", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentGreaterThan(Date value) {
            addCriterion("iTimeCurrent >", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentGreaterThanOrEqualTo(Date value) {
            addCriterion("iTimeCurrent >=", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentLessThan(Date value) {
            addCriterion("iTimeCurrent <", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentLessThanOrEqualTo(Date value) {
            addCriterion("iTimeCurrent <=", value, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentIn(List<Date> values) {
            addCriterion("iTimeCurrent in", values, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentNotIn(List<Date> values) {
            addCriterion("iTimeCurrent not in", values, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentBetween(Date value1, Date value2) {
            addCriterion("iTimeCurrent between", value1, value2, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimecurrentNotBetween(Date value1, Date value2) {
            addCriterion("iTimeCurrent not between", value1, value2, "itimecurrent");
            return (Criteria) this;
        }

        public Criteria andItimefinalIsNull() {
            addCriterion("iTimeFinal is null");
            return (Criteria) this;
        }

        public Criteria andItimefinalIsNotNull() {
            addCriterion("iTimeFinal is not null");
            return (Criteria) this;
        }

        public Criteria andItimefinalEqualTo(Date value) {
            addCriterion("iTimeFinal =", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalNotEqualTo(Date value) {
            addCriterion("iTimeFinal <>", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalGreaterThan(Date value) {
            addCriterion("iTimeFinal >", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalGreaterThanOrEqualTo(Date value) {
            addCriterion("iTimeFinal >=", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalLessThan(Date value) {
            addCriterion("iTimeFinal <", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalLessThanOrEqualTo(Date value) {
            addCriterion("iTimeFinal <=", value, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalIn(List<Date> values) {
            addCriterion("iTimeFinal in", values, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalNotIn(List<Date> values) {
            addCriterion("iTimeFinal not in", values, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalBetween(Date value1, Date value2) {
            addCriterion("iTimeFinal between", value1, value2, "itimefinal");
            return (Criteria) this;
        }

        public Criteria andItimefinalNotBetween(Date value1, Date value2) {
            addCriterion("iTimeFinal not between", value1, value2, "itimefinal");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}